package org.carl.base.driving;

import java.util.Date;

/**
 * 发送服务
 */
public interface DriveManage {

    /**
     * 发送消息
     * @param businessType 业务类型
     * @param date 业务数据
     */
    void send(String businessType, String date);

    /**
     * 发送消息
     * @param businessType 业务类型
     * @param routingKey 路由key
     * @param data 业务数据
     */
    void send(String businessType, String routingKey, String data);

    /**发送消息
     * @param businessType 业务类型
     * @param data 业务数据
     * @param sendTtl 延时发送时间，单位毫秒
     */
    void send(String businessType, String data, long sendTtl);

    /**
     * 发送消息
     * @param businessType 业务类型
     * @param routingKey 路由key
     * @param data 业务数据
     * @param sendTtl 延时发送时间，单位毫秒
     */
    void send(String businessType, String routingKey, String data, long sendTtl);

    /**
     *
     * 发送消息
     * @param businessType 业务类型
     * @param data 业务数据
     * @param sendAt 延时发送时间
     */
    void send(String businessType, String data, Date sendAt);

    /**
     * 发送消息
     * @param businessType 业务类型
     * @param routingKey 路由key
     * @param data 业务数据
     * @param sendAt 延时发送时间
     */
    void send(String businessType, String routingKey, String data, Date sendAt);
}
